package com.h3c.ptability.dto;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
    import io.swagger.annotations.ApiModel;
    import io.swagger.annotations.ApiModelProperty;

/**
 * Copyright (C), 2020-2020, h3c
 * FileName: PtMenuDTO
 *
 * @Author: l22886
 * @Date: 2022-03-14
 * Description: pt_menu dto实体
 * Version: 1.0
 */
@ApiModel(value="PtMenu对象", description="")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PtMenuDTO {


    @ApiModelProperty(value = "权限项编码")
    private String itemId;

    @ApiModelProperty(value = "应用编码")
    private String appId;

    @ApiModelProperty(value = "权限项类型：1 菜单; 2 前端组件；")
    private Integer itemType;

    @ApiModelProperty(value = "权限项名称")
    private String itemName;

    @ApiModelProperty(value = "权限项名称-英文")
    private String itemNameEn;

    @ApiModelProperty(value = "权限项路径（支持通配符配置）")
    private String itemPath;

    @ApiModelProperty(value = "上级权限项编码（-1表示顶级菜单或服务接口）")
    private String parentItemId;

    @ApiModelProperty(value = "是否需要授权：1 需要；2 不需要；")
    private Integer authFlag;

    @ApiModelProperty(value = "是否启用：1 启用；2 停用；")
    private Integer useFlag;

    @ApiModelProperty(value = "菜单图标")
    private String menuIcon;

    @ApiModelProperty(value = "打开位置")
    private String menuTarget;

    @ApiModelProperty(value = "排序")
    private Integer sortId;

    @ApiModelProperty(value = "权限项说明")
    private String itemRemark;

    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    @ApiModelProperty(value = "创建人工号")
    private String creatorId;

    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    @ApiModelProperty(value = "更新人工号")
    private String updatorId;

    private Integer count;

    private boolean hasChildren;

    private String appName;
    /**
     * 排序字段 + 升序， -降序
     * 比如 +updateTime 根据 修改时间升序排序，-updateTime 根据 修改时间降序排序
     */
    private String orderBy;

}
